bitkeeper revision 1.1159.280.1 (4283a76ftpuj_gm_Dw7id90bgDL3JQ)
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Thu, 12 May 2005 18:58:55 +0000 (18:58 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Thu, 12 May 2005 18:58:55 +0000 (18:58 +0000)
Many files:
  Use marker files instead of depending on the change times of directories.
ignore:
  Add patches/*/.makedep.
  Cleanup ignore list.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
BitKeeper/etc/ignore
Makefile
buildconfigs/Rules.mk
buildconfigs/mk.linux-2.4-xen0
buildconfigs/mk.linux-2.4-xenU
buildconfigs/mk.linux-2.6-xen0
buildconfigs/mk.linux-2.6-xenU
buildconfigs/mk.netbsd-2.0-xenU

index 1ef3b0e2a0b83fa57899cb0679e3aff611e66738..f87c654e98bd11c058ca462901ce17038b987b2e 100644 (file)
@@ -52,6 +52,7 @@ netbsd-*-tools/*
 netbsd-*-xen0/*
 netbsd-*-xenU/*
 netbsd-*.patch
+patches/*/.makedep
 patches/tmp/*
 pristine-*
 ref-*
@@ -90,8 +91,3 @@ xen/tools/figlet/figlet
 xen/xen
 xen/xen-syms
 xen/xen.*
-install/*
-patches/ebtables-brnf-5_vs_2.4.25.diff
-patches/ebtables.diff
-tools/x2d2/minixend
-BLOG
index dc58f496480bf9ab700b176d61506e1cda5ac24f..058a4241807467eff220e52a8fcc2c6792296e74 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,8 +15,6 @@ KERNELS ?= linux-2.6-xen0 linux-2.6-xenU
 # linux-2.4-xen0 linux-2.4-xenU netbsd-2.0-xenU
 # You may use wildcards in the above e.g. KERNELS=*2.4*
 
-ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
-ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
 XKERNELS := $(foreach kernel, $(KERNELS), $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.$(kernel))) )
 
 export DESTDIR
@@ -86,7 +84,7 @@ world:
        $(MAKE) dist
 
 # clean doesn't do a kclean
-clean: 
+clean:: 
        $(MAKE) -C xen clean
        $(MAKE) -C tools clean
        $(MAKE) -C docs clean
index 60b4fea1db2a455c67c0669b000d708accadabeb..a2c4cc5ecc24223edadf2a87d7c63542dce680bd 100644 (file)
@@ -4,6 +4,9 @@
 DISTDIR        ?= $(CURDIR)/dist
 DESTDIR        ?= $(DISTDIR)/install
 
+ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
+ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
+
 .PHONY:        mkpatches mrproper
 
 # Setup pristine search path
@@ -47,23 +50,29 @@ else
 OS_VER = $(NETBSD_VER)
 endif
 
-pristine-%: %.tar.bz2
-       rm -rf tmp-$(@F) $@
-       mkdir -p tmp-$(@F)
-       tar -C tmp-$(@F) -jxf $<
-       mv tmp-$(@F)/* $@
+$(patsubst %,pristine-%/.valid-pristine,$(ALLSPARSETREES)) : pristine-%/.valid-pristine: %.tar.bz2
+       rm -rf tmp-pristine-$* $(@D)
+       mkdir -p tmp-pristine-$*
+       tar -C tmp-pristine-$* -jxf $<
+       mv tmp-pristine-$*/* $(@D)
+       @rm -rf tmp-pristine-$*
        touch $@ # update timestamp to avoid rebuild
-       @rm -rf tmp-$(@F)
 
-OS_PATCHES = $(shell echo patches/$(OS)-$(OS_VER)/*.patch)
+PATCHDIRS := $(wildcard patches/*-*)
+
+-include $(patsubst %,%/.makedep,$(PATCHDIRS))
+
+$(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: 
+       @echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
+
+clean::
+       rm -f patches/*/.makedep
 
-ref-%: pristine-% $(OS_PATCHES)
-       rm -rf $@
-       cp -al $< tmp-$(@F)
+ref-%/.valid-ref: pristine-%/.valid-pristine
+       rm -rf $(@D)
+       cp -al $(<D) $(@D)
        [ -d patches/$* ] && \
-         for i in patches/$*/*.patch ; do ( cd tmp-$(@F) ; patch -p1 <../$$i ) ; done || \
-         true
-       mv tmp-$(@F) $@
+         for i in patches/$*/*.patch ; do ( cd $(@D) ; patch -p1 <../$$i || exit 1 ) ; done
        touch $@ # update timestamp to avoid rebuild
 
 %-build:
@@ -75,11 +84,11 @@ ref-%: pristine-% $(OS_PATCHES)
 %-clean:
        $(MAKE) -f buildconfigs/mk.$* clean
 
-%-xen.patch: ref-%
+%-xen.patch: ref-%/.valid-ref
        rm -rf tmp-$@
-       cp -al $< tmp-$@
+       cp -al $(<D) tmp-$@
        ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ ) 
-       diff -Nurp $< tmp-$@ > $@ || true
+       diff -Nurp $(<D) tmp-$@ > $@ || true
        rm -rf tmp-$@
 
 %-mrproper: %-mrproper-extra
index dfa13af497759a7396731946892d5adc3d28e980..0a6df660006dcc6977de62e9912de0d0e8bcfb34 100644 (file)
@@ -24,9 +24,9 @@ patches/tmp/ebtables.diff:
        wget http://www.cl.cam.ac.uk/netos/xen/downloads/ebtables-brnf-5_vs_2.4.27.diff.gz -O- | gunzip -c > $@
 
 $(LINUX_DIR)/include/linux/autoconf.h: patches/tmp/ebtables.diff
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
        rm -rf $(LINUX_DIR)
-       cp -al $< $(LINUX_DIR)
+       cp -al $(<D) $(LINUX_DIR)
        # Apply arch-xen patches
        ( cd linux-$(LINUX_VER)-xen-sparse ; \
           ./mkbuildtree ../$(LINUX_DIR) )
@@ -45,7 +45,7 @@ $(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
        make -C $(LINUX_DIR) ARCH=xen oldconfig
        make -C $(LINUX_DIR) ARCH=xen dep
 
-clean:
+clean::
        $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
 
 delete: 
index 92ade5e3aca5e2798d7d9160868732bbe419ca91..19808873858d7895d816df7f80b0aaeca674dc4a 100644 (file)
@@ -19,9 +19,9 @@ build: $(LINUX_DIR)/include/linux/autoconf.h
        fi
        $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
 
-$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref
        rm -rf $(LINUX_DIR)
-       cp -al $< $(LINUX_DIR)
+       cp -al $(<D) $(LINUX_DIR)
        # Apply arch-xen patches
        ( cd linux-$(LINUX_VER)-xen-sparse ; \
           ./mkbuildtree ../$(LINUX_DIR) )
@@ -38,7 +38,7 @@ $(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)
        make -C $(LINUX_DIR) ARCH=xen oldconfig
        make -C $(LINUX_DIR) ARCH=xen dep
 
-clean:
+clean::
        $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
 
 delete: 
index f55cf1a99563694dcd8f7b52294ee8c21921cd52..997a2694dd40b1a357942d274b936ddaa40e0ce9 100644 (file)
@@ -19,9 +19,9 @@ build: $(LINUX_DIR)/include/linux/autoconf.h
        fi
        $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
 
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
        rm -rf $(LINUX_DIR)
-       cp -al $< $(LINUX_DIR)
+       cp -al $(<D) $(LINUX_DIR)
        # Apply arch-xen patches
        ( cd linux-$(LINUX_VER)-xen-sparse ; \
           ./mkbuildtree ../$(LINUX_DIR) )
@@ -37,7 +37,7 @@ $(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
                $(LINUX_DIR)/.config
        $(MAKE) -C $(LINUX_DIR) ARCH=xen oldconfig
 
-clean:
+clean::
        $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
 
 delete: 
index ac115ee372799d9a1052b8f0caaf101708ff3ddc..1a095ed53d6922f523ab785c06753ac7be2abe91 100644 (file)
@@ -19,9 +19,9 @@ build: $(LINUX_DIR)/include/linux/autoconf.h
        fi
        $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
 
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
        rm -rf $(LINUX_DIR)
-       cp -al $< $(LINUX_DIR)
+       cp -al $(<D) $(LINUX_DIR)
        # Apply arch-xen patches
        ( cd linux-$(LINUX_VER)-xen-sparse ; \
           ./mkbuildtree ../$(LINUX_DIR) )
@@ -37,7 +37,7 @@ $(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
                $(LINUX_DIR)/.config
        $(MAKE) -C $(LINUX_DIR) ARCH=xen oldconfig
 
-clean:
+clean::
        $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
 
 delete: 
index bbe2e1fea9de3e9f03767c4bfa6f3ee04e1f97e4..d5a740d0c35574d509f1d3590ee5f632c139cb24 100644 (file)
@@ -24,9 +24,9 @@ netbsd-%-tools: netbsd-%-tools.tar.bz2
        tar -jxf $<
        touch $@ # update timestamp to avoid rebuild
 
-$(NETBSD_DIR)/.valid: ref-$(OS)-$(NETBSD_VER)
+$(NETBSD_DIR)/.valid: ref-$(OS)-$(NETBSD_VER)/.valid-ref
        $(RM) -rf $(NETBSD_DIR)
-       cp -al $< $(NETBSD_DIR)
+       cp -al $(<D) $(NETBSD_DIR)
        # Apply arch-xen patches
        ( cd netbsd-$(NETBSD_VER)-xen-sparse ; \
           ./mkbuildtree ../$(NETBSD_DIR) )
@@ -38,7 +38,7 @@ netbsd-xen%: $(NETBSD_DIR)/.valid netbsd-$(NETBSD_RELEASE)-tools
        $(MAKE) -C netbsd-$(FULLVERSION) netbsd
        $(MAKE) -C netbsd-$(FULLVERSION) INSTALL_PATH=$(DESTDIR) INSTALL_NAME=boot/netbsd-$(NETBSD_VER)-xen$* install
 
-clean:
+clean::
        $(MAKE) -C netbsd-$(FULLVERSION) clean
 
 delete: